#pragma once
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
typedef int DataType;
typedef struct BinaryTreeNode
{
	struct BinaryTreeNode* left;
	struct BinaryTreeNode* right;
	int val;
}BTNode;


BTNode* BuyNewNode(int);
//前序
void PrevOrder(BTNode*);
//中序
void InOrder(BTNode*);
//后序
void PosOrder(BTNode*);
///节点个数
int BinaryTreeSize(BTNode*);
//叶子节点个数
int BinaryTreeLeafSize(BTNode*);
//查找二叉树值为x的节点
BTNode* BinaryTreeFind(BTNode*, int);
//二叉树销毁
void BinaryTreeDestory(BTNode*);
//二叉树第k层节点个数
int BinaryTreeLeveKSize(BTNode*,int k);



